package com.ctshk.rpc.order.tour.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalTime;
import java.util.List;

/**
 * <p>
 * 收据明细
 * </p>
 *
 * @author 谭响
 * @since 2021-02-04
 */
@Data
@ApiModel(value="收据明细预览DTO", description="收据明细预览DTO")
public class SeriesOrderReceiptDetailsPreviewDTO implements Serializable {

    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "订单ID")
    private Long orderId;

    @ApiModelProperty(value = "团期ID")
    private Long scheduleId;

    @ApiModelProperty(value = "数据来源（1：收款，2：收据）")
    private Integer dataSource;

    @ApiModelProperty(value = "收款Id项")
    private List<Long> collectionIdList;

    @ApiModelProperty(value = "顾客须知")
    private String customerRights;

    @ApiModelProperty(value = "茶会地点")
    private String teaPartyLocName;

    @ApiModelProperty(value = "茶会日期")
    private LocalDate teaPartyDate;

    @ApiModelProperty(value = "茶会时间")
    private LocalTime teaPartyTime;

    @ApiModelProperty(value = "公司备注")
    private String companyNotes;

    @ApiModelProperty(value = "團體/旅客姓名")
    private String touristName;

    @ApiModelProperty(value = "联系方式")
    private String mobile;

    @ApiModelProperty(value = "組辦公司AGENT")
    private String agent;

    @ApiModelProperty(value = "交餘款時間")
    private LocalDate mantissaDate;

    @ApiModelProperty(value = "團號TOUR CODE")
    private String tourCode;

    @ApiModelProperty(value = "天數DAYS")
    private Integer days;

    @ApiModelProperty(value = "出發日期DEP.DATE")
    private String depDate;

    @ApiModelProperty(value = "出發日期")
    private LocalDate departureDate;

    @ApiModelProperty(value = "行程線路ROUTE")
    private String route;

    @ApiModelProperty(value = "查詢號碼")
    private String enquiryNo;

    @ApiModelProperty(value = "集合時間查詢電話")
    private Long enquiryTimeTel;

    @ApiModelProperty(value = "收款项")
    private List<SeriesOrderReceiptDetailsPreviewItemDTO> itemList;

    @ApiModelProperty(value = "收款方式")
    private List<SeriesOrderReceiptDetailsPreviewWayDTO> wayList;

    @ApiModelProperty(value = "备注")
    private List<SeriesOrderReceiptDetailsPreviewRemarkDTO> remarkList;

    @ApiModelProperty(value = "代收费用")
    private BigDecimal collectionFee;

    @ApiModelProperty(value = "调整费用")
    private BigDecimal adjustmentCost;

    @ApiModelProperty(value = "其他")
    private BigDecimal otherAmount;

    @ApiModelProperty(value = "团费")
    private BigDecimal groupFee;

    @ApiModelProperty(value = "總應付")
    private BigDecimal totalReceivables;

    @ApiModelProperty(value = "已付")
    private BigDecimal paidAmount;

    @ApiModelProperty(value = "現付")
    private BigDecimal payAmount;

    @ApiModelProperty(value = "餘款")
    private BigDecimal remainingAmount;

    @ApiModelProperty(value = "收据编号")
    private String receiptNumber;

    @ApiModelProperty(value = "团费包含")
    private String tripSupplementTourFeeInclude;

    @ApiModelProperty(value = "团费不包含")
    private String tripSupplementTourFeeExclude;

    @ApiModelProperty(value = "报名须知")
    private String tripSupplementSignNotice;

    @ApiModelProperty(value = "备注")
    private String tripSupplementRemark;

    @ApiModelProperty(value = "目的地主数据ID")
    private Long destinationId;

    @ApiModelProperty(value = "出发地主数据ID")
    private Long departurePlaceId;

    @ApiModelProperty(value = "印花税图片")
    private String stampDutyPic;

}
